#region Header
//
//   Project:           SilverShader - Silverlight pixel shader demo application for Coding4Fun.
//
//   Changed by:        $Author$
//   Changed on:        $Date$
//   Changed in:        $Revision$
//   Project:           $URL$
//   Id:                $Id$
//
//
//   Copyright (c) 2010 Rene Schulte
//
//   This program is open source software. Please read the License.txt.
//
#endregion

using System.ComponentModel;
using System.Windows.Controls;
using System.Windows.Media.Effects;
using System.Windows;

namespace SilverShader.ViewModels
{
   public abstract class AbstractViewModel : IShaderViewModel
   {
      public abstract string Name { get; }
      public abstract ShaderEffect Shader { get; }
      public virtual UserControl View { get; set; }
      public virtual Point InputSize { get; set; }

      public event PropertyChangedEventHandler PropertyChanged;

      protected void OnPropertyChanged(PropertyChangedEventArgs e)
      {
         if (PropertyChanged != null)
         {
            PropertyChanged(this, e);
         }
      }
   }
}